nethackfandomcom-20200214-history
Source:NetHack 3.2.0/extern.h
Below is the full text to extern.h from the source code of NetHack 3.2.0. To link to a particular line, write [[NetHack 3.2.0/extern.h#line123]], for example. Warning! This is the source code from an old release. For the latest release, see Source code 1. /* SCCS Id: @(#)extern.h 3.2 96/02/14 */ 2. /* Copyright © Steve Creps, 1988. */ 3. /* NetHack may be freely redistributed. See license for details. */ 4. 5. #ifndef EXTERN_H 6. #define EXTERN_H 7. 8. #define E extern 9. 10. /* ### alloc.c ### */ 11. 12. #if 0 13. E long *FDECL(alloc, (unsigned int)); 14. #endif 15. E char *FDECL(fmt_ptr, (const genericptr,char *)); 16. 17. /* This next pre-processor directive covers almost the entire file, 18. * interrupted only occasionally to pick up specific functions as needed. */ 19. #if !defined(MAKEDEFS_C) && !defined(LEV_LEX_C) 20. 21. /* ### allmain.c ### */ 22. 23. E void NDECL(moveloop); 24. E void NDECL(stop_occupation); 25. E void NDECL(display_gamewindows); 26. E void NDECL(newgame); 27. 28. /* ### amiwbench.c ### */ 29. 30. #ifdef AMIGA 31. E void NDECL(ami_wbench_init); 32. E void NDECL(ami_wbench_args); 33. E int FDECL(ami_wbench_getsave, (int)); 34. E void FDECL(ami_wbench_unlink, (char *)); 35. E int FDECL(ami_wbench_iconsize, (char *)); 36. E void FDECL(ami_wbench_iconwrite, (char *)); 37. E int FDECL(ami_wbench_badopt, (const char *)); 38. E void NDECL(ami_wbench_cleanup); 39. E void FDECL(getlind, (const char *,char *,const char *)); 40. #endif /* AMIGA */ 41. 42. /* ### apply.c ### */ 43. 44. E int NDECL(doapply); 45. E int NDECL(dorub); 46. E int NDECL(dojump); 47. E int NDECL(number_leashed); 48. E void FDECL(o_unleash, (struct obj *)); 49. E void FDECL(m_unleash, (struct monst *)); 50. E void NDECL(unleash_all); 51. E boolean NDECL(next_to_u); 52. E struct obj *FDECL(get_mleash, (struct monst *)); 53. E void FDECL(check_leash, (XCHAR_P,XCHAR_P)); 54. E boolean FDECL(wield_tool, (struct obj *)); 55. E boolean FDECL(um_dist, (XCHAR_P,XCHAR_P,XCHAR_P)); 56. E boolean FDECL(snuff_candle, (struct obj *)); 57. E boolean FDECL(snuff_lit, (struct obj *)); 58. E void FDECL(use_unicorn_horn, (struct obj *)); 59. E boolean FDECL(tinnable, (struct obj *)); 60. 61. /* ### artifact.c ### */ 62. 63. E void NDECL(init_artifacts); 64. E void FDECL(save_artifacts, (int)); 65. E void FDECL(restore_artifacts, (int)); 66. E const char *FDECL(artiname, (int)); 67. E struct obj *FDECL(mk_artifact, (struct obj *,ALIGNTYP_P)); 68. E const char *FDECL(artifact_name, (const char *,short *)); 69. E boolean FDECL(exist_artifact, (int,const char *)); 70. E void FDECL(artifact_exists, (struct obj *,const char *,BOOLEAN_P)); 71. E int NDECL(nartifact_exist); 72. E void FDECL(artifact_unexist, (struct obj *)); 73. E boolean FDECL(spec_ability, (struct obj *,unsigned long)); 74. E boolean FDECL(restrict_name, (struct obj *,const char *)); 75. E boolean FDECL(defends, (int,struct obj *)); 76. E boolean FDECL(protects, (int,struct obj *)); 77. E void FDECL(set_artifact_intrinsic, (struct obj *,BOOLEAN_P,long)); 78. E int FDECL(touch_artifact, (struct obj *,struct monst *)); 79. E int FDECL(spec_abon, (struct obj *,struct monst *)); 80. E int FDECL(spec_dbon, (struct obj *,struct monst *,int)); 81. E boolean FDECL(artifact_hit, (struct monst *,struct monst *, 82. struct obj *,int *,int)); 83. E int NDECL(doinvoke); 84. 85. /* ### attrib.c ### */ 86. 87. E boolean FDECL(adjattrib, (int,int,int)); 88. E void FDECL(change_luck, (SCHAR_P)); 89. E int FDECL(stone_luck, (BOOLEAN_P)); 90. E void NDECL(set_moreluck); 91. E void FDECL(gainstr, (struct obj *,int)); 92. E void FDECL(losestr, (int)); 93. E void NDECL(restore_attrib); 94. E void FDECL(exercise, (int,BOOLEAN_P)); 95. E void NDECL(exerchk); 96. E void NDECL(reset_attribute_clock); 97. E void FDECL(init_attr, (int)); 98. E void NDECL(redist_attr); 99. E void FDECL(adjabil, (int,int)); 100. E int NDECL(newhp); 101. E schar FDECL(acurr, (int)); 102. E schar NDECL(acurrstr); 103. E void FDECL(adjalign, (int)); 104. 105. /* ### ball.c ### */ 106. 107. E void NDECL(ballfall); 108. E void NDECL(placebc); 109. E void NDECL(unplacebc); 110. E void FDECL(set_bc, (int)); 111. E void FDECL(move_bc, (int,int,XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P)); 112. E boolean FDECL(drag_ball, (XCHAR_P,XCHAR_P, 113. int *,xchar *,xchar *,xchar *,xchar *, boolean *)); 114. E void FDECL(drop_ball, (XCHAR_P,XCHAR_P)); 115. E void NDECL(drag_down); 116. 117. /* ### bones.c ### */ 118. 119. E boolean NDECL(can_make_bones); 120. E void NDECL(savebones); 121. E int NDECL(getbones); 122. 123. /* ### botl.c ### */ 124. 125. E int FDECL(xlev_to_rank, (int)); 126. E int FDECL(title_to_mon, (const char *,int *,int *)); 127. E void NDECL(max_rank_sz); 128. #ifdef SCORE_ON_BOTL 129. E long NDECL(botl_score); 130. #endif 131. E const char *FDECL(rank_of, (int,CHAR_P,BOOLEAN_P)); 132. E void NDECL(bot); 133. 134. /* ### cmd.c ### */ 135. 136. #ifdef USE_TRAMPOLI 137. E int NDECL(doextcmd); 138. E int NDECL(domonability); 139. E int NDECL(doprev_message); 140. E int NDECL(timed_occupation); 141. E int NDECL(wiz_attributes); 142. E int NDECL(enter_explore_mode); 143. # ifdef WIZARD 144. E int NDECL(wiz_detect); 145. E int NDECL(wiz_genesis); 146. E int NDECL(wiz_identify); 147. E int NDECL(wiz_level_tele); 148. E int NDECL(wiz_map); 149. E int NDECL(wiz_where); 150. E int NDECL(wiz_wish); 151. # endif /* WIZARD */ 152. #endif /* USE_TRAMPOLI */ 153. E void NDECL(reset_occupations); 154. E void FDECL(set_occupation, (int (*)(void),const char *,int)); 155. #ifdef REDO 156. E char NDECL(pgetchar); 157. E void FDECL(pushch, (CHAR_P)); 158. E void FDECL(savech, (CHAR_P)); 159. #endif 160. #ifdef WIZARD 161. E void NDECL(add_debug_extended_commands); 162. #endif /* WIZARD */ 163. E void FDECL(rhack, (char *)); 164. E int NDECL(doextlist); 165. E void FDECL(enlightenment, (int)); 166. E int FDECL(xytod, (SCHAR_P,SCHAR_P)); 167. E void FDECL(dtoxy, (coord *,int)); 168. E int FDECL(movecmd, (CHAR_P)); 169. E int FDECL(getdir, (const char *)); 170. E void NDECL(confdir); 171. E int FDECL(isok, (int,int)); 172. E int FDECL(click_to_cmd, (int,int,int)); 173. E char NDECL(readchar); 174. #ifdef WIZARD 175. E void NDECL(sanity_check); 176. #endif 177. 178. /* ### dbridge.c ### */ 179. 180. E boolean FDECL(is_pool, (int,int)); 181. E boolean FDECL(is_lava, (int,int)); 182. E boolean FDECL(is_ice, (int,int)); 183. E int FDECL(is_drawbridge_wall, (int,int)); 184. E boolean FDECL(is_db_wall, (int,int)); 185. E boolean FDECL(find_drawbridge, (int *,int*)); 186. E boolean FDECL(create_drawbridge, (int,int,int,BOOLEAN_P)); 187. E void FDECL(open_drawbridge, (int,int)); 188. E void FDECL(close_drawbridge, (int,int)); 189. E void FDECL(destroy_drawbridge, (int,int)); 190. 191. /* ### decl.c ### */ 192. 193. E void NDECL(decl_init); 194. 195. /* ### detect.c ### */ 196. 197. E struct obj *FDECL(o_in, (struct obj*,CHAR_P)); 198. E int FDECL(gold_detect, (struct obj *)); 199. E int FDECL(food_detect, (struct obj *)); 200. E int FDECL(object_detect, (struct obj *,int)); 201. E int FDECL(monster_detect, (struct obj *,int)); 202. E int FDECL(trap_detect, (struct obj *)); 203. E const char *FDECL(level_distance, (d_level *)); 204. E void FDECL(use_crystal_ball, (struct obj *)); 205. E void NDECL(do_mapping); 206. E void NDECL(do_vicinity_map); 207. E int FDECL(exposed_sdoor_mask, (struct rm *)); 208. #ifdef USE_TRAMPOLI 209. E void FDECL(findone, (int,int,genericptr_t)); 210. E void FDECL(openone, (int,int,genericptr_t)); 211. #endif 212. E int NDECL(findit); 213. E int NDECL(openit); 214. E int FDECL(dosearch0, (int)); 215. E int NDECL(dosearch); 216. 217. /* ### dig.c ### */ 218. 219. #ifdef USE_TRAMPOLI 220. E int NDECL(dig); 221. #endif 222. E int NDECL(holetime); 223. E boolean FDECL(dig_check, (struct monst *, BOOLEAN_P, int, int)); 224. E void FDECL(digactualhole, (int,int,struct monst *,int)); 225. E boolean FDECL(dighole, (BOOLEAN_P)); 226. E int FDECL(use_pick_axe, (struct obj *)); 227. E boolean FDECL(mdig_tunnel, (struct monst *)); 228. E void NDECL(zap_dig); 229. E struct obj *FDECL(bury_an_obj, (struct obj *)); 230. E void FDECL(bury_objs, (int,int)); 231. E void FDECL(unearth_objs, (int,int)); 232. E void FDECL(rot_organic, (genericptr_t, long)); 233. E void FDECL(rot_corpse, (genericptr_t, long)); 234. #if 0 235. E void FDECL(bury_monst, (struct monst *)); 236. E void NDECL(bury_you); 237. E void NDECL(unearth_you); 238. E void NDECL(escape_tomb); 239. E void FDECL(bury_obj, (struct obj *)); 240. #endif 241. 242. /* ### display.c ### */ 243. 244. #ifdef INVISIBLE_OBJECTS 245. E struct obj * FDECL(vobj_at, (XCHAR_P,XCHAR_P)); 246. #endif /* INVISIBLE_OBJECTS */ 247. E void FDECL(map_background, (XCHAR_P,XCHAR_P,int)); 248. E void FDECL(map_trap, (struct trap *,int)); 249. E void FDECL(map_object, (struct obj *,int)); 250. E void FDECL(unmap_object, (int,int)); 251. E void FDECL(map_location, (int,int,int)); 252. E void FDECL(feel_location, (XCHAR_P,XCHAR_P)); 253. E void FDECL(newsym, (int,int)); 254. E void FDECL(shieldeff, (XCHAR_P,XCHAR_P)); 255. E void FDECL(tmp_at, (int,int)); 256. E void FDECL(swallowed, (int)); 257. E void FDECL(under_ground, (int)); 258. E void FDECL(under_water, (int)); 259. E void NDECL(see_monsters); 260. E void NDECL(set_mimic_blocking); 261. E void NDECL(see_objects); 262. E void NDECL(curs_on_u); 263. E int NDECL(doredraw); 264. E void NDECL(docrt); 265. E void FDECL(show_glyph, (int,int,int)); 266. E void NDECL(clear_glyph_buffer); 267. E void FDECL(row_refresh, (int,int,int)); 268. E void NDECL(cls); 269. E void FDECL(flush_screen, (int)); 270. E int FDECL(back_to_glyph, (XCHAR_P,XCHAR_P)); 271. E int FDECL(zapdir_to_glyph, (int,int,int)); 272. E int FDECL(glyph_at, (XCHAR_P,XCHAR_P)); 273. E void NDECL(set_wall_state); 274. 275. /* ### do.c ### */ 276. 277. #ifdef USE_TRAMPOLI 278. E int FDECL(drop, (struct obj *)); 279. E int NDECL(wipeoff); 280. #endif 281. E int NDECL(dodrop); 282. E boolean FDECL(boulder_hits_pool, (struct obj *,int,int,BOOLEAN_P)); 283. E boolean FDECL(flooreffects, (struct obj *,int,int,const char *)); 284. E void FDECL(doaltarobj, (struct obj *)); 285. E boolean FDECL(canletgo, (struct obj *,const char *)); 286. E void FDECL(dropx, (struct obj *)); 287. E void FDECL(dropy, (struct obj *)); 288. E int NDECL(doddrop); 289. E int NDECL(dodown); 290. E int NDECL(doup); 291. #ifdef INSURANCE 292. E void NDECL(save_currentstate); 293. #endif 294. E void FDECL(goto_level, (d_level *,BOOLEAN_P,BOOLEAN_P,BOOLEAN_P)); 295. E void FDECL(schedule_goto, (d_level *,BOOLEAN_P,BOOLEAN_P,int, 296. const char *,const char *)); 297. E void NDECL(deferred_goto); 298. E boolean FDECL(revive_corpse, (struct obj *)); 299. E void FDECL(revive_mon, (genericptr_t, long)); 300. E int NDECL(donull); 301. E int NDECL(dowipe); 302. E void FDECL(set_wounded_legs, (long,int)); 303. E void NDECL(heal_legs); 304. 305. /* ### do_name.c ### */ 306. 307. E void FDECL(getpos, (coord *,BOOLEAN_P,const char *)); 308. E struct monst *FDECL(christen_monst, (struct monst *,const char *)); 309. E int NDECL(do_mname); 310. E struct obj *FDECL(oname, (struct obj *,const char *)); 311. E int NDECL(ddocall); 312. E void FDECL(docall, (struct obj *)); 313. E char *FDECL(x_monnam, (struct monst *,int,const char *,int)); 314. E char *FDECL(l_monnam, (struct monst *)); 315. E char *FDECL(mon_nam, (struct monst *)); 316. E char *FDECL(Monnam, (struct monst *)); 317. E char *FDECL(m_monnam, (struct monst *)); 318. E char *FDECL(Adjmonnam, (struct monst *,const char *)); 319. E char *FDECL(Amonnam, (struct monst *)); 320. E char *FDECL(a_monnam, (struct monst *)); 321. E const char *NDECL(rndmonnam); 322. E const char *FDECL(hcolor, (const char *)); 323. E char *FDECL(self_pronoun, (const char *,const char *)); 324. #ifdef REINCARNATION 325. E const char *NDECL(roguename); 326. #endif 327. 328. /* ### do_wear.c ### */ 329. 330. #ifdef USE_TRAMPOLI 331. E int NDECL(Armor_on); 332. E int NDECL(Boots_on); 333. E int NDECL(Gloves_on); 334. E int NDECL(Helmet_on); 335. E int FDECL(select_off, (struct obj *)); 336. E int NDECL(take_off); 337. #endif 338. E void FDECL(off_msg, (struct obj *)); 339. E void NDECL(set_wear); 340. E boolean FDECL(donning, (struct obj *)); 341. E void NDECL(cancel_don); 342. E int NDECL(Armor_off); 343. E int NDECL(Armor_gone); 344. E int NDECL(Helmet_off); 345. E int NDECL(Gloves_off); 346. E int NDECL(Boots_off); 347. E int NDECL(Cloak_off); 348. E int NDECL(Shield_off); 349. E void NDECL(Amulet_off); 350. E void FDECL(Ring_on, (struct obj *)); 351. E void FDECL(Ring_off, (struct obj *)); 352. E void FDECL(Ring_gone, (struct obj *)); 353. E void FDECL(Blindf_on, (struct obj *)); 354. E void FDECL(Blindf_off, (struct obj *)); 355. E int NDECL(dotakeoff); 356. E int NDECL(doremring); 357. E int FDECL(cursed, (struct obj *)); 358. E int FDECL(armoroff, (struct obj *)); 359. E int NDECL(dowear); 360. E int NDECL(doputon); 361. E void NDECL(find_ac); 362. E void NDECL(glibr); 363. E struct obj *NDECL(some_armor); 364. E void FDECL(erode_armor, (BOOLEAN_P)); 365. E void NDECL(reset_remarm); 366. E int NDECL(doddoremarm); 367. E int FDECL(destroy_arm, (struct obj *)); 368. E void FDECL(adj_abon, (struct obj *,SCHAR_P)); 369. 370. /* ### dog.c ### */ 371. 372. E void FDECL(initedog, (struct monst *)); 373. E void FDECL(make_familiar, (struct obj *,XCHAR_P,XCHAR_P)); 374. E struct monst *NDECL(makedog); 375. E void NDECL(losedogs); 376. E void FDECL(mon_arrive, (struct monst *,BOOLEAN_P)); 377. E void FDECL(mon_catchup_elapsed_time, (struct monst *,long)); 378. E void FDECL(keepdogs, (BOOLEAN_P)); 379. E void FDECL(migrate_to_level, (struct monst *,XCHAR_P,XCHAR_P,coord *)); 380. E int FDECL(dogfood, (struct monst *,struct obj *)); 381. E struct monst *FDECL(tamedog, (struct monst *,struct obj *)); 382. E void FDECL(abuse_dog, (struct monst *)); 383. 384. /* ### dogmove.c ### */ 385. 386. E int FDECL(dog_nutrition, (struct monst *,struct obj *)); 387. E int FDECL(dog_eat, (struct monst *,struct obj *,int,int,BOOLEAN_P)); 388. E int FDECL(dog_move, (struct monst *,int)); 389. #ifdef USE_TRAMPOLI 390. E void FDECL(wantdoor, (int,int,genericptr_t)); 391. #endif 392. 393. /* ### dokick.c ### */ 394. 395. E boolean FDECL(ghitm, (struct monst *,struct obj *)); 396. E int NDECL(dokick); 397. E boolean FDECL(ship_object, (struct obj *,XCHAR_P,XCHAR_P,BOOLEAN_P)); 398. E void NDECL(obj_delivery); 399. E schar FDECL(down_gate, (XCHAR_P,XCHAR_P)); 400. E void FDECL(impact_drop, (struct obj *,XCHAR_P,XCHAR_P,XCHAR_P)); 401. 402. /* ### dothrow.c ### */ 403. 404. E int NDECL(dothrow); 405. E void FDECL(hitfloor, (struct obj *)); 406. E void FDECL(hurtle, (int,int,int)); 407. E void FDECL(throwit, (struct obj *)); 408. E int FDECL(omon_adj, (struct monst *,struct obj *,BOOLEAN_P)); 409. E int FDECL(thitmonst, (struct monst *,struct obj *)); 410. E int FDECL(breaks, (struct obj *,int,int,BOOLEAN_P)); 411. 412. /* ### drawing.c ### */ 413. #endif /* !MAKEDEFS_C && !LEV_LEX_C */ 414. E int FDECL(def_char_to_objclass, (CHAR_P)); 415. E int FDECL(def_char_to_monclass, (CHAR_P)); 416. #if !defined(MAKEDEFS_C) && !defined(LEV_LEX_C) 417. E void FDECL(assign_graphics, (uchar *,int,int,int)); 418. E void FDECL(switch_graphics, (int)); 419. #ifdef REINCARNATION 420. E void FDECL(assign_rogue_graphics, (BOOLEAN_P)); 421. #endif 422. 423. /* ### dungeon.c ### */ 424. 425. E void FDECL(save_dungeon, (int,BOOLEAN_P,BOOLEAN_P)); 426. E void FDECL(restore_dungeon, (int)); 427. E void FDECL(insert_branch, (branch *,BOOLEAN_P)); 428. E void NDECL(init_dungeons); 429. E s_level *FDECL(find_level, (const char *)); 430. E s_level *FDECL(Is_special, (d_level *)); 431. E branch *FDECL(Is_branchlev, (d_level *)); 432. E xchar FDECL(ledger_no, (d_level *)); 433. E xchar NDECL(maxledgerno); 434. E schar FDECL(depth, (d_level *)); 435. E xchar FDECL(dunlev, (d_level *)); 436. E xchar FDECL(dunlevs_in_dungeon, (d_level *)); 437. E xchar FDECL(ledger_to_dnum, (XCHAR_P)); 438. E xchar FDECL(ledger_to_dlev, (XCHAR_P)); 439. E xchar FDECL(deepest_lev_reached, (BOOLEAN_P)); 440. E boolean FDECL(on_level, (d_level *,d_level *)); 441. E void FDECL(next_level, (BOOLEAN_P)); 442. E void FDECL(prev_level, (BOOLEAN_P)); 443. E void FDECL(u_on_newpos, (int,int)); 444. E void NDECL(u_on_sstairs); 445. E void NDECL(u_on_upstairs); 446. E void NDECL(u_on_dnstairs); 447. E boolean FDECL(On_stairs, (XCHAR_P,XCHAR_P)); 448. E void FDECL(get_level, (d_level *,int)); 449. E boolean FDECL(Is_botlevel, (d_level *)); 450. E boolean FDECL(Can_fall_thru, (d_level *)); 451. E boolean FDECL(Can_dig_down, (d_level *)); 452. E boolean FDECL(Can_rise_up, (int,int,d_level *)); 453. E boolean FDECL(In_quest, (d_level *)); 454. E boolean FDECL(In_mines, (d_level *)); 455. E branch *FDECL(dungeon_branch, (const char *)); 456. E boolean FDECL(at_dgn_entrance, (const char *)); 457. E boolean FDECL(In_hell, (d_level *)); 458. E boolean FDECL(In_V_tower, (d_level *)); 459. E boolean FDECL(On_W_tower_level, (d_level *)); 460. E boolean FDECL(In_W_tower, (int,int,d_level *)); 461. E void FDECL(find_hell, (d_level *)); 462. E void FDECL(goto_hell, (BOOLEAN_P,BOOLEAN_P)); 463. E void FDECL(assign_level, (d_level *,d_level *)); 464. E void FDECL(assign_rnd_level, (d_level *,d_level *,int)); 465. E int FDECL(induced_align, (int)); 466. E boolean FDECL(Invocation_lev, (d_level *)); 467. E xchar NDECL(level_difficulty); 468. E schar FDECL(lev_by_name, (const char *)); 469. #ifdef WIZARD 470. E void NDECL(print_dungeon); 471. #endif 472. 473. /* ### eat.c ### */ 474. 475. #ifdef USE_TRAMPOLI 476. E int NDECL(eatmdone); 477. E int NDECL(eatfood); 478. E int NDECL(opentin); 479. E int NDECL(unfaint); 480. #endif 481. E boolean FDECL(is_edible, (struct obj *)); 482. E void NDECL(init_uhunger); 483. E int NDECL(Hear_again); 484. E void NDECL(reset_eat); 485. E int NDECL(doeat); 486. E void NDECL(gethungry); 487. E void FDECL(morehungry, (int)); 488. E void FDECL(lesshungry, (int)); 489. E boolean NDECL(is_fainted); 490. E void NDECL(reset_faint); 491. #if 0 492. E void NDECL(sync_hunger); 493. #endif 494. E void FDECL(newuhs, (BOOLEAN_P)); 495. E struct obj *FDECL(floorfood, (const char *,int)); 496. E void NDECL(vomit); 497. E int FDECL(eaten_stat, (int,struct obj *)); 498. E void FDECL(food_disappears, (struct obj *)); 499. 500. /* ### end.c ### */ 501. 502. E void FDECL(done1, (int)); 503. E int NDECL(done2); 504. #ifdef USE_TRAMPOLI 505. E void FDECL(done_intr, (int)); 506. #endif 507. E void FDECL(done_in_by, (struct monst *)); 508. #endif /* !MAKEDEFS_C && !LEV_LEX_C */ 509. E void VDECL(panic, (const char *,...)) PRINTF_F(1,2); 510. #if !defined(MAKEDEFS_C) && !defined(LEV_LEX_C) 511. E void FDECL(done, (int)); 512. E void FDECL(container_contents, (struct obj *,BOOLEAN_P,BOOLEAN_P)); 513. E void FDECL(terminate, (int)); 514. 515. /* ### engrave.c ### */ 516. 517. E char *FDECL(random_engraving, (char *)); 518. E void FDECL(wipeout_text, (char *,int,unsigned)); 519. E boolean NDECL(can_reach_floor); 520. E const char *FDECL(surface, (int,int)); 521. E const char *FDECL(ceiling, (int,int)); 522. E struct engr *FDECL(engr_at, (XCHAR_P,XCHAR_P)); 523. #ifdef ELBERETH 524. E int FDECL(sengr_at, (const char *,XCHAR_P,XCHAR_P)); 525. #endif 526. E void FDECL(u_wipe_engr, (int)); 527. E void FDECL(wipe_engr_at, (XCHAR_P,XCHAR_P,XCHAR_P)); 528. E void FDECL(read_engr_at, (int,int)); 529. E void FDECL(make_engr_at, (int,int,const char *,long,XCHAR_P)); 530. E void FDECL(del_engr_at, (int,int)); 531. E int NDECL(freehand); 532. E int NDECL(doengrave); 533. E void FDECL(save_engravings, (int,int)); 534. E void FDECL(rest_engravings, (int)); 535. E void FDECL(rloc_engr, (struct engr *)); 536. 537. /* ### exper.c ### */ 538. 539. E int FDECL(experience, (struct monst *,int)); 540. E void FDECL(more_experienced, (int,int)); 541. E void NDECL(losexp); 542. E void NDECL(newexplevel); 543. E void NDECL(pluslvl); 544. E long NDECL(rndexp); 545. 546. /* ### explode.c ### */ 547. 548. E void FDECL(explode, (int,int,int,int,CHAR_P)); 549. E void FDECL(scatter, (int, int, int, unsigned int)); 550. E void FDECL(splatter_burning_oil, (int, int)); 551. 552. /* ### extralev.c ### */ 553. 554. #ifdef REINCARNATION 555. E void NDECL(makeroguerooms); 556. E void FDECL(corr, (int,int)); 557. E void NDECL(makerogueghost); 558. #endif 559. 560. /* ### files.c ### */ 561. 562. E FILE *FDECL(fopen_datafile, (const char *,const char *)); 563. E boolean FDECL(uptodate, (int,const char *)); 564. E void FDECL(store_version, (int)); 565. #ifdef MFLOPPY 566. E void NDECL(set_lock_and_bones); 567. #endif 568. E void FDECL(set_levelfile_name, (char *,int)); 569. E int FDECL(create_levelfile, (int)); 570. E int FDECL(open_levelfile, (int)); 571. E void FDECL(delete_levelfile, (int)); 572. E void NDECL(clearlocks); 573. E int FDECL(create_bonesfile, (d_level*,char **)); 574. #ifdef MFLOPPY 575. E void NDECL(cancel_bonesfile); 576. #endif 577. E void FDECL(commit_bonesfile, (d_level *)); 578. E int FDECL(open_bonesfile, (d_level*,char **)); 579. E int FDECL(delete_bonesfile, (d_level*)); 580. E void NDECL(compress_bonesfile); 581. E void NDECL(set_savefile_name); 582. #ifdef INSURANCE 583. E void FDECL(save_savefile_name, (int)); 584. #endif 585. #if defined(WIZARD) && !defined(MICRO) 586. E void NDECL(set_error_savefile); 587. #endif 588. E int NDECL(create_savefile); 589. E int NDECL(open_savefile); 590. E int NDECL(delete_savefile); 591. E int NDECL(restore_saved_game); 592. E void FDECL(compress, (const char *)); 593. E void FDECL(uncompress, (const char *)); 594. E boolean FDECL(lock_file, (const char *,int)); 595. E void FDECL(unlock_file, (const char *)); 596. E void FDECL(read_config_file, (const char *)); 597. E void FDECL(check_recordfile, (const char *)); 598. 599. /* ### fountain.c ### */ 600. 601. E void FDECL(floating_above, (const char *)); 602. E void FDECL(dogushforth, (int)); 603. # ifdef USE_TRAMPOLI 604. E void FDECL(gush, (int,int,genericptr_t)); 605. # endif 606. E void FDECL(dryup, (XCHAR_P,XCHAR_P)); 607. E void NDECL(drinkfountain); 608. E void FDECL(dipfountain, (struct obj *)); 609. #ifdef SINKS 610. E void FDECL(breaksink, (int,int)); 611. E void NDECL(drinksink); 612. #endif 613. 614. /* ### hack.c ### */ 615. 616. E boolean FDECL(revive_nasty, (int,int,const char*)); 617. E void FDECL(movobj, (struct obj *,XCHAR_P,XCHAR_P)); 618. E boolean FDECL(may_dig, (XCHAR_P,XCHAR_P)); 619. E boolean FDECL(may_passwall, (XCHAR_P,XCHAR_P)); 620. E boolean FDECL(bad_rock, (struct permonst *,XCHAR_P,XCHAR_P)); 621. E boolean FDECL(invocation_pos, (XCHAR_P,XCHAR_P)); 622. E void NDECL(domove); 623. E void NDECL(spoteffects); 624. E char *FDECL(in_rooms, (XCHAR_P,XCHAR_P,int)); 625. E void FDECL(check_special_room, (BOOLEAN_P)); 626. E int NDECL(dopickup); 627. E void NDECL(lookaround); 628. E int NDECL(monster_nearby); 629. E void FDECL(nomul, (int)); 630. E void FDECL(unmul, (const char *)); 631. E void FDECL(losehp, (int,const char *,BOOLEAN_P)); 632. E int NDECL(weight_cap); 633. E int NDECL(inv_weight); 634. E int NDECL(near_capacity); 635. E int FDECL(calc_capacity, (int)); 636. E int NDECL(max_capacity); 637. E boolean FDECL(check_capacity, (const char *)); 638. E int NDECL(inv_cnt); 639. 640. /* ### hacklib.c ### */ 641. 642. E boolean FDECL(digit, (CHAR_P)); 643. E boolean FDECL(letter, (CHAR_P)); 644. E char FDECL(highc, (CHAR_P)); 645. E char FDECL(lowc, (CHAR_P)); 646. E char *FDECL(lcase, (char *)); 647. E char *FDECL(eos, (char *)); 648. E char *FDECL(s_suffix, (const char *)); 649. E char *FDECL(xcrypt, (const char *,char *)); 650. E boolean FDECL(onlyspace, (const char *)); 651. E char *FDECL(tabexpand, (char *)); 652. E char *FDECL(visctrl, (CHAR_P)); 653. E const char *FDECL(ordin, (int)); 654. E char *FDECL(sitoa, (int)); 655. E int FDECL(sgn, (int)); 656. E int FDECL(rounddiv, (long,int)); 657. E int FDECL(dist2, (int,int,int,int)); 658. E int FDECL(distmin, (int,int,int,int)); 659. E boolean FDECL(online2, (int,int,int,int)); 660. E boolean FDECL(pmatch, (const char *,const char *)); 661. #ifndef STRNCMPI 662. E int FDECL(strncmpi, (const char *,const char *,int)); 663. #endif 664. #ifndef STRSTRI 665. E char *FDECL(strstri, (const char *,const char *)); 666. #endif 667. E void NDECL(setrandom); 668. E int NDECL(getyear); 669. E char *FDECL(yymmdd, (time_t)); 670. E int NDECL(phase_of_the_moon); 671. E boolean NDECL(friday_13th); 672. E int NDECL(night); 673. E int NDECL(midnight); 674. 675. /* ### invent.c ### */ 676. 677. E void FDECL(assigninvlet, (struct obj *)); 678. E struct obj *FDECL(merge_choice, (struct obj *,struct obj *)); 679. E int FDECL(merged, (struct obj **,struct obj **)); 680. #ifdef USE_TRAMPOLI 681. E int FDECL(ckunpaid, (struct obj *)); 682. #endif 683. E struct obj *FDECL(addinv, (struct obj *)); 684. E struct obj *FDECL(hold_another_object, 685. (struct obj *,const char *,const char *,const char *)); 686. E void FDECL(useup, (struct obj *)); 687. E void FDECL(freeinv, (struct obj *)); 688. E void FDECL(delallobj, (int,int)); 689. E void FDECL(delobj, (struct obj *)); 690. E struct obj *FDECL(sobj_at, (int,int,int)); 691. E struct obj *FDECL(carrying, (int)); 692. E boolean NDECL(have_lizard); 693. E struct obj *FDECL(o_on, (unsigned int,struct obj *)); 694. E boolean FDECL(obj_here, (struct obj *,int,int)); 695. E boolean NDECL(wearing_armor); 696. E boolean FDECL(is_worn, (struct obj *)); 697. E struct obj *FDECL(g_at, (int,int)); 698. E struct obj *FDECL(mkgoldobj, (long)); 699. E struct obj *FDECL(getobj, (const char *,const char *)); 700. E int FDECL(ggetobj, (const char *,int (*)(OBJ_P),int,BOOLEAN_P)); 701. E int FDECL(identify, (struct obj *)); 702. E void FDECL(identify_pack, (int)); 703. E int FDECL(askchain, (struct obj **,const char *,int,int (*)(OBJ_P), 704. int (*)(OBJ_P),int,const char *)); 705. E void FDECL(prinv, (const char *,struct obj *,long)); 706. E char *FDECL(xprname, (struct obj *,const char *,CHAR_P,BOOLEAN_P,long)); 707. E int NDECL(ddoinv); 708. E char FDECL(display_inventory, (const char *,BOOLEAN_P)); 709. E int FDECL(display_binventory, (int,int,BOOLEAN_P)); 710. E struct obj *FDECL(display_cinventory,(struct obj *)); 711. E struct obj *FDECL(display_minventory,(struct monst *,int)); 712. E int NDECL(dotypeinv); 713. E int NDECL(dolook); 714. E void FDECL(stackobj, (struct obj *)); 715. E int NDECL(doprgold); 716. E int NDECL(doprwep); 717. E int NDECL(doprarm); 718. E int NDECL(doprring); 719. E int NDECL(dopramulet); 720. E int NDECL(doprtool); 721. E void FDECL(useupf, (struct obj *)); 722. E char *FDECL(let_to_name, (CHAR_P,BOOLEAN_P)); 723. E void NDECL(reassign); 724. E int NDECL(doorganize); 725. E int FDECL(count_unpaid, (struct obj *)); 726. 727. /* ### ioctl.c ### */ 728. 729. #ifdef UNIX 730. E void NDECL(getwindowsz); 731. E void NDECL(getioctls); 732. E void NDECL(setioctls); 733. # ifdef SUSPEND 734. E int NDECL(dosuspend); 735. # endif /* SUSPEND */ 736. #endif /* UNIX */ 737. 738. /* ### light.c ### */ 739. 740. E void FDECL(new_light_source, (XCHAR_P, XCHAR_P, int, int, genericptr_t)); 741. E void FDECL(del_light_source, (int, genericptr_t)); 742. E void FDECL(do_light_sources, (char **)); 743. E void FDECL(save_light_sources, (int, int, int)); 744. E void FDECL(restore_light_sources, (int)); 745. E void FDECL(relink_light_sources, (BOOLEAN_P)); 746. E void FDECL(obj_move_light_source, (struct obj *, struct obj *)); 747. E boolean NDECL(any_light_source); 748. E void FDECL(snuff_light_source, (int, int)); 749. E boolean FDECL(obj_sheds_light, (struct obj *)); 750. E boolean FDECL(obj_is_burning, (struct obj *)); 751. E void FDECL(obj_split_light_source, (struct obj *, struct obj *)); 752. #ifdef WIZARD 753. E int NDECL(wiz_light_sources); 754. #endif 755. 756. /* ### lock.c ### */ 757. 758. #ifdef USE_TRAMPOLI 759. E int NDECL(forcelock); 760. E int NDECL(picklock); 761. #endif 762. E boolean FDECL(picking_lock, (int *,int *)); 763. E boolean FDECL(picking_at, (int,int)); 764. E void NDECL(reset_pick); 765. E int FDECL(pick_lock, (struct obj *)); 766. E int NDECL(doforce); 767. E boolean FDECL(boxlock, (struct obj *,struct obj *)); 768. E boolean FDECL(doorlock, (struct obj *,int,int)); 769. E int NDECL(doopen); 770. E int NDECL(doclose); 771. 772. #ifdef MAC 773. /* These declarations are here because the main code calls them. */ 774. 775. /* ### macfile.c ### */ 776. 777. E int FDECL(maccreat, (const char *,long)); 778. E int FDECL(macopen, (const char *,int,long)); 779. E int FDECL(macclose, (int)); 780. E int FDECL(macread, (int,void *,unsigned)); 781. E int FDECL(macwrite, (int,void *,unsigned)); 782. E long FDECL(macseek, (int,long,short)); 783. 784. /* ### macmain.c ### */ 785. 786. #ifdef MAC68K 787. E void NDECL(UnloadAllSegments); 788. #endif 789. 790. /* ### macsnd.c ### */ 791. 792. E void FDECL(mac_speaker, (struct obj *,char *)); 793. 794. /* ### macunix.c ### */ 795. 796. E void FDECL(regularize, (char *)); 797. E void NDECL(getlock); 798. 799. /* ### macwin.c ### */ 800. 801. E void FDECL(lock_mouse_cursor, (Boolean)); 802. E int NDECL(SanePositions); 803. 804. /* ### mttymain.c ### */ 805. 806. E void FDECL(getreturn, (char *)); 807. E void VDECL(msmsg, (const char *,...)); 808. E void NDECL(gettty); 809. E void NDECL(setftty); 810. E void FDECL(settty, (const char *)); 811. E int NDECL(tgetch); 812. E void FDECL(cmov, (int x, int y)); 813. E void FDECL(nocmov, (int x, int y)); 814. 815. #endif /* MAC */ 816. 817. /* ### mail.c ### */ 818. 819. #ifdef MAIL 820. # ifdef UNIX 821. E void NDECL(getmailstatus); 822. # endif 823. E void NDECL(ckmailstatus); 824. E void FDECL(readmail, (struct obj *)); 825. #endif /* MAIL */ 826. 827. /* ### makemon.c ### */ 828. 829. E int FDECL(undead_to_corpse, (int)); 830. E boolean FDECL(is_home_elemental, (struct permonst *)); 831. E struct monst *FDECL(clone_mon, (struct monst *)); 832. E struct monst *FDECL(makemon, (struct permonst *,int,int)); 833. E boolean FDECL(create_critters, (int,struct permonst *)); 834. E struct permonst *NDECL(rndmonst); 835. E void FDECL(reset_rndmonst, (int)); 836. E struct permonst *FDECL(mkclass, (CHAR_P,int)); 837. E int FDECL(adj_lev, (struct permonst *)); 838. E struct permonst *FDECL(grow_up, (struct monst *,struct monst *)); 839. E int FDECL(mongets, (struct monst *,int)); 840. E int FDECL(golemhp, (int)); 841. E boolean FDECL(peace_minded, (struct permonst *)); 842. E void FDECL(set_malign, (struct monst *)); 843. E void FDECL(set_mimic_sym, (struct monst *)); 844. 845. /* ### mcastu.c ### */ 846. 847. E int FDECL(castmu, (struct monst *,struct attack *)); 848. E int FDECL(buzzmu, (struct monst *,struct attack *)); 849. 850. /* ### mhitm.c ### */ 851. 852. E int FDECL(fightm, (struct monst *)); 853. E int FDECL(mattackm, (struct monst *,struct monst *)); 854. E int FDECL(noattacks, (struct permonst *)); 855. E int FDECL(sleep_monst, (struct monst *,int,int)); 856. E void FDECL(slept_monst, (struct monst *)); 857. 858. /* ### mhitu.c ### */ 859. 860. E const char *FDECL(mpoisons_subj, (struct monst *,struct attack *)); 861. E void NDECL(u_slow_down); 862. E struct monst *NDECL(cloneu); 863. E void FDECL(expels, (struct monst *,struct permonst *,BOOLEAN_P)); 864. E int FDECL(mattacku, (struct monst *)); 865. E int FDECL(gazemu, (struct monst *,struct attack *)); 866. E void FDECL(mdamageu, (struct monst *,int)); 867. E int FDECL(could_seduce, (struct monst *,struct monst *,struct attack *)); 868. #ifdef SEDUCE 869. E int FDECL(doseduce, (struct monst *)); 870. #endif 871. 872. /* ### minion.c ### */ 873. 874. E void FDECL(msummon, (struct permonst *)); 875. E void FDECL(summon_minion, (ALIGNTYP_P,BOOLEAN_P)); 876. E int FDECL(demon_talk, (struct monst *)); 877. E long FDECL(bribe, (struct monst *)); 878. E int FDECL(dprince, (ALIGNTYP_P)); 879. E int FDECL(dlord, (ALIGNTYP_P)); 880. E int NDECL(llord); 881. E int FDECL(ndemon, (ALIGNTYP_P)); 882. E int NDECL(lminion); 883. 884. /* ### mklev.c ### */ 885. 886. #ifdef USE_TRAMPOLI 887. E int FDECL(do_comp, (genericptr_t,genericptr_t)); 888. #endif 889. E void NDECL(sort_rooms); 890. E void FDECL(add_room, (int,int,int,int,BOOLEAN_P,SCHAR_P,BOOLEAN_P)); 891. E void FDECL(add_subroom, (struct mkroom *,int,int,int,int, 892. BOOLEAN_P,SCHAR_P,BOOLEAN_P)); 893. E void NDECL(makecorridors); 894. E void FDECL(add_door, (int,int,struct mkroom *)); 895. E void NDECL(mklev); 896. #ifdef SPECIALIZATION 897. E void FDECL(topologize, (struct mkroom *,BOOLEAN_P)); 898. #else 899. E void FDECL(topologize, (struct mkroom *)); 900. #endif 901. E void FDECL(place_branch, (branch *,XCHAR_P,XCHAR_P)); 902. E boolean FDECL(occupied, (XCHAR_P,XCHAR_P)); 903. E int FDECL(okdoor, (XCHAR_P,XCHAR_P)); 904. E void FDECL(dodoor, (int,int,struct mkroom *)); 905. E void FDECL(mktrap, (int,int,struct mkroom *,coord*)); 906. E void FDECL(mkstairs, (XCHAR_P,XCHAR_P,CHAR_P,struct mkroom *)); 907. E void NDECL(mkinvokearea); 908. 909. /* ### mkmap.c ### */ 910. 911. void FDECL(flood_fill_rm, (int,int,int,BOOLEAN_P,BOOLEAN_P)); 912. 913. /* ### mkmaze.c ### */ 914. 915. E void FDECL(wallification, (int,int,int,int)); 916. E void FDECL(walkfrom, (int,int)); 917. E void FDECL(makemaz, (const char *)); 918. E void FDECL(mazexy, (coord *)); 919. E void NDECL(bound_digging); 920. E void FDECL(mkportal, (XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P)); 921. E boolean FDECL(bad_location, (XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P)); 922. E void FDECL(place_lregion, (XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P, 923. XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P, 924. XCHAR_P,d_level *)); 925. E void NDECL(movebubbles); 926. E void NDECL(water_friction); 927. E void FDECL(save_waterlevel, (int,int)); 928. E void FDECL(restore_waterlevel, (int)); 929. 930. /* ### mkobj.c ### */ 931. 932. E struct obj *FDECL(mkobj_at, (CHAR_P,int,int,BOOLEAN_P)); 933. E struct obj *FDECL(mksobj_at, (int,int,int,BOOLEAN_P)); 934. E struct obj *FDECL(mkobj, (CHAR_P,BOOLEAN_P)); 935. E int NDECL(rndmonnum); 936. E struct obj *FDECL(splitobj, (struct obj *,long)); 937. E void FDECL(bill_dummy_object, (struct obj *)); 938. E struct obj *FDECL(mksobj, (int,BOOLEAN_P,BOOLEAN_P)); 939. E int FDECL(bcsign, (struct obj *)); 940. E int FDECL(weight, (struct obj *)); 941. E void FDECL(mkgold, (long,int,int)); 942. E struct obj *FDECL(mkcorpstat, (int,struct permonst *,int,int,BOOLEAN_P)); 943. E struct obj *FDECL(mk_tt_object, (int,int,int)); 944. E struct obj *FDECL(mk_named_object, 945. (int,struct permonst *,int,int,const char *)); 946. E void FDECL(start_corpse_timeout, (struct obj *)); 947. E void FDECL(bless, (struct obj *)); 948. E void FDECL(unbless, (struct obj *)); 949. E void FDECL(curse, (struct obj *)); 950. E void FDECL(uncurse, (struct obj *)); 951. E void FDECL(blessorcurse, (struct obj *,int)); 952. E boolean FDECL(is_flammable, (struct obj *)); 953. E void FDECL(place_object, (struct obj *,int,int)); 954. E void FDECL(remove_object, (struct obj *)); 955. E void FDECL(discard_minvent, (struct monst *)); 956. E void FDECL(obj_extract_self, (struct obj *)); 957. E void FDECL(extract_nobj, (struct obj *, struct obj **)); 958. E void FDECL(extract_nexthere, (struct obj *, struct obj **)); 959. E void FDECL(add_to_minv, (struct monst *, struct obj *)); 960. E void FDECL(add_to_container, (struct obj *, struct obj *)); 961. E void FDECL(add_to_migration, (struct obj *)); 962. E void FDECL(add_to_buried, (struct obj *)); 963. E void FDECL(dealloc_obj, (struct obj *)); 964. E void FDECL(obj_ice_effects, (int, int, BOOLEAN_P)); 965. E long FDECL(peek_at_iced_corpse_age, (struct obj *)); 966. #ifdef WIZARD 967. E void NDECL(obj_sanity_check); 968. #endif 969. 970. /* ### mkroom.c ### */ 971. 972. E void FDECL(mkroom, (int)); 973. E void FDECL(fill_zoo, (struct mkroom *)); 974. E boolean FDECL(nexttodoor, (int,int)); 975. E boolean FDECL(has_dnstairs, (struct mkroom *)); 976. E boolean FDECL(has_upstairs, (struct mkroom *)); 977. E int FDECL(somex, (struct mkroom *)); 978. E int FDECL(somey, (struct mkroom *)); 979. E boolean FDECL(inside_room, (struct mkroom *,XCHAR_P,XCHAR_P)); 980. E boolean FDECL(somexy, (struct mkroom *,coord *)); 981. E void FDECL(mkundead, (coord *)); 982. E struct permonst *NDECL(courtmon); 983. E void FDECL(save_rooms, (int)); 984. E void FDECL(rest_rooms, (int)); 985. E struct mkroom *FDECL(search_special, (SCHAR_P)); 986. 987. /* ### mon.c ### */ 988. 989. E int FDECL(minwater, (struct monst *)); 990. E void NDECL(movemon); 991. E int FDECL(meatgold, (struct monst *)); 992. E int FDECL(meatobj, (struct monst *)); 993. E void FDECL(mpickgold, (struct monst *)); 994. E boolean FDECL(mpickstuff, (struct monst *,const char *)); 995. E int FDECL(curr_mon_load, (struct monst *)); 996. E int FDECL(max_mon_load, (struct monst *)); 997. E boolean FDECL(can_carry, (struct monst *,struct obj *)); 998. E int FDECL(mfndpos, (struct monst *,coord *,long *,long)); 999. E boolean FDECL(monnear, (struct monst *,int,int)); 1000. E void NDECL(dmonsfree); 1001. E void FDECL(monfree, (struct monst *)); 1002. E void FDECL(replmon, (struct monst *,struct monst *)); 1003. E void FDECL(relmon, (struct monst *)); 1004. E void FDECL(mondead, (struct monst *)); 1005. E void FDECL(mondied, (struct monst *)); 1006. E void FDECL(mongone, (struct monst *)); 1007. E void FDECL(monstone, (struct monst *)); 1008. E void FDECL(monkilled, (struct monst *,const char *,int)); 1009. E void FDECL(unstuck, (struct monst *)); 1010. E void FDECL(killed, (struct monst *)); 1011. E void FDECL(xkilled, (struct monst *,int)); 1012. E void FDECL(mon_to_stone, (struct monst*)); 1013. E void FDECL(mnexto, (struct monst *)); 1014. E boolean FDECL(mnearto, (struct monst *,XCHAR_P,XCHAR_P,BOOLEAN_P)); 1015. E void FDECL(poisontell, (int)); 1016. E void FDECL(poisoned, (const char *,int,const char *,int)); 1017. E void FDECL(m_respond, (struct monst *)); 1018. E void FDECL(setmangry, (struct monst *)); 1019. E void FDECL(wakeup, (struct monst *)); 1020. E void NDECL(wake_nearby); 1021. E void FDECL(wake_nearto, (int,int,int)); 1022. E void FDECL(seemimic, (struct monst *)); 1023. E void NDECL(rescham); 1024. E void NDECL(restartcham); 1025. E int FDECL(newcham, (struct monst *,struct permonst *)); 1026. E int FDECL(can_be_hatched, (int)); 1027. E int FDECL(egg_type_from_parent, (int,BOOLEAN_P)); 1028. E boolean FDECL(dead_species, (int,BOOLEAN_P)); 1029. E void NDECL(kill_genocided_monsters); 1030. E void FDECL(golemeffects, (struct monst *,int,int)); 1031. E boolean FDECL(angry_guards, (BOOLEAN_P)); 1032. E void NDECL(pacify_guards); 1033. 1034. /* ### mondata.c ### */ 1035. 1036. E void FDECL(set_mon_data, (struct monst *,struct permonst *,int)); 1037. E boolean FDECL(attacktype, (struct permonst *,int)); 1038. E boolean FDECL(poly_when_stoned, (struct permonst *)); 1039. E boolean FDECL(resists_drli, (struct monst *)); 1040. E boolean FDECL(resists_magm, (struct monst *)); 1041. E boolean FDECL(ranged_attk, (struct permonst *)); 1042. E boolean FDECL(hates_silver, (struct permonst *)); 1043. E boolean FDECL(can_track, (struct permonst *)); 1044. E boolean FDECL(breakarm, (struct permonst *)); 1045. E boolean FDECL(sliparm, (struct permonst *)); 1046. E boolean FDECL(sticks, (struct permonst *)); 1047. /* E boolean FDECL(canseemon, (struct monst *)); */ 1048. E boolean FDECL(dmgtype, (struct permonst *,int)); 1049. E int FDECL(max_passive_dmg, (struct monst *,struct monst *)); 1050. E int FDECL(monsndx, (struct permonst *)); 1051. E int FDECL(name_to_mon, (const char *)); 1052. E boolean FDECL(webmaker, (struct permonst *)); 1053. E int FDECL(gender, (struct monst *)); 1054. E int FDECL(pronoun_gender, (struct monst *)); 1055. E boolean FDECL(levl_follower, (struct monst *)); 1056. E struct permonst *NDECL(player_mon); 1057. E int FDECL(little_to_big, (int)); 1058. E int FDECL(big_to_little, (int)); 1059. E const char *FDECL(locomotion, (const struct permonst *,const char *)); 1060. 1061. /* ### monmove.c ### */ 1062. 1063. E boolean FDECL(itsstuck, (struct monst *)); 1064. E boolean FDECL(mb_trapped, (struct monst *)); 1065. E void FDECL(mon_regen, (struct monst *,BOOLEAN_P)); 1066. E int FDECL(dochugw, (struct monst *)); 1067. E boolean FDECL(onscary, (int,int,struct monst *)); 1068. E int FDECL(dochug, (struct monst *)); 1069. E int FDECL(m_move, (struct monst *,int)); 1070. E boolean FDECL(closed_door, (int,int)); 1071. E boolean FDECL(accessible, (int,int)); 1072. E void FDECL(set_apparxy, (struct monst *)); 1073. 1074. /* ### monst.c ### */ 1075. 1076. E void NDECL(monst_init); 1077. 1078. /* ### monstr.c ### */ 1079. 1080. E void NDECL(monstr_init); 1081. 1082. /* ### mplayer.c ### */ 1083. 1084. E struct monst *FDECL(mk_mplayer, (struct permonst *,XCHAR_P, 1085. XCHAR_P,BOOLEAN_P)); 1086. E void FDECL(create_mplayers, (int,BOOLEAN_P)); 1087. E void FDECL(mplayer_talk, (struct monst *)); 1088. 1089. #ifdef MICRO 1090. 1091. /* ### msdos.c,os2.c,tos.c,winnt.c ### */ 1092. 1093. # ifndef WIN32 1094. E int NDECL(tgetch); 1095. # endif 1096. # ifndef TOS 1097. E char NDECL(switchar); 1098. # endif 1099. # ifndef __GO32__ 1100. E long FDECL(freediskspace, (char *)); 1101. E int FDECL(findfirst, (char *)); 1102. E int NDECL(findnext); 1103. E char *NDECL(foundfile_buffer); 1104. E long FDECL(filesize, (char *)); 1105. # endif /* __GO32__ */ 1106. E void FDECL(chdrive, (char *)); 1107. # ifndef TOS 1108. E void NDECL(disable_ctrlP); 1109. E void NDECL(enable_ctrlP); 1110. # endif 1111. # if defined(MICRO) && !defined(WINNT) 1112. E void NDECL(get_scr_size); 1113. # ifndef TOS 1114. E void FDECL(gotoxy, (int,int)); 1115. # endif 1116. # endif 1117. # ifdef TOS 1118. E int FDECL(_copyfile, (char *,char *)); 1119. E int NDECL(kbhit); 1120. E void NDECL(set_colors); 1121. E void NDECL(restore_colors); 1122. # ifdef SUSPEND 1123. E int NDECL(dosuspend); 1124. # endif 1125. # endif /* TOS */ 1126. # ifdef WIN32 1127. E void FDECL(nt_regularize, (char *)); 1128. E int NDECL((*nt_kbhit)); 1129. # endif /* WIN32 */ 1130. 1131. #endif /* MICRO */ 1132. 1133. /* ### mthrowu.c ### */ 1134. 1135. E int FDECL(thitu, (int,int,struct obj *,const char *)); 1136. E int FDECL(ohitmon, (struct monst *,struct obj *,int,BOOLEAN_P)); 1137. E void FDECL(thrwmu, (struct monst *)); 1138. E int FDECL(spitmu, (struct monst *,struct attack *)); 1139. E int FDECL(breamu, (struct monst *,struct attack *)); 1140. E boolean FDECL(linedup, (XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P)); 1141. E boolean FDECL(lined_up, (struct monst *)); 1142. E struct obj *FDECL(m_carrying, (struct monst *,int)); 1143. E void FDECL(m_useup, (struct monst *,struct obj *)); 1144. E void FDECL(m_throw, (struct monst *,int,int,int,int,int,struct obj *)); 1145. 1146. /* ### muse.c ### */ 1147. 1148. E boolean FDECL(find_defensive, (struct monst *)); 1149. E int FDECL(use_defensive, (struct monst *)); 1150. E int FDECL(rnd_defensive_item, (struct monst *)); 1151. E boolean FDECL(find_offensive, (struct monst *)); 1152. #ifdef USE_TRAMPOLI 1153. E int FDECL(mbhitm, (struct monst *,struct obj *)); 1154. #endif 1155. E int FDECL(use_offensive, (struct monst *)); 1156. E int FDECL(rnd_offensive_item, (struct monst *)); 1157. E boolean FDECL(find_misc, (struct monst *)); 1158. E int FDECL(use_misc, (struct monst *)); 1159. E int FDECL(rnd_misc_item, (struct monst *)); 1160. E boolean FDECL(searches_for_item, (struct monst *,struct obj *)); 1161. E boolean FDECL(mon_reflects, (struct monst *,const char *)); 1162. E boolean FDECL(munstone, (struct monst *,BOOLEAN_P)); 1163. 1164. /* ### music.c ### */ 1165. 1166. E void NDECL(awaken_soldiers); 1167. E int FDECL(do_play_instrument, (struct obj *)); 1168. 1169. /* ### nttty.c ### */ 1170. 1171. #ifdef WIN32CON 1172. E void NDECL(get_scr_size); 1173. E int NDECL(nttty_kbhit); 1174. E void NDECL(nttty_open); 1175. E void NDECL(nttty_rubout); 1176. E int NDECL(tgetch); 1177. #endif 1178. 1179. /* ### o_init.c ### */ 1180. 1181. E void NDECL(init_objects); 1182. E int NDECL(find_skates); 1183. E void NDECL(oinit); 1184. E void FDECL(savenames, (int,int)); 1185. E void FDECL(restnames, (int)); 1186. E void FDECL(discover_object, (int,BOOLEAN_P)); 1187. E void FDECL(undiscover_object, (int)); 1188. E int NDECL(dodiscovered); 1189. 1190. /* ### objects.c ### */ 1191. 1192. E void NDECL(objects_init); 1193. 1194. /* ### objnam.c ### */ 1195. 1196. E char *FDECL(typename, (int)); 1197. E boolean FDECL(obj_is_pname, (struct obj *)); 1198. E char *FDECL(distant_name, (struct obj *,char *(*)(OBJ_P))); 1199. E char *FDECL(xname, (struct obj *)); 1200. E char *FDECL(doname, (struct obj *)); 1201. E boolean FDECL(not_fully_identified, (struct obj *)); 1202. E const char *FDECL(corpse_xname, (struct obj *,BOOLEAN_P)); 1203. E const char *FDECL(singular, (struct obj *,char *(*)(OBJ_P))); 1204. E char *FDECL(an, (const char *)); 1205. E char *FDECL(An, (const char *)); 1206. E char *FDECL(The, (const char *)); 1207. E char *FDECL(the, (const char *)); 1208. E char *FDECL(aobjnam, (struct obj *,const char *)); 1209. E char *FDECL(Doname2, (struct obj *)); 1210. E char *FDECL(makeplural, (const char *)); 1211. E char *FDECL(makesingular, (const char *)); 1212. E struct obj *FDECL(readobjnam, (char *)); 1213. E int FDECL(rnd_class, (int,int)); 1214. 1215. /* ### options.c ### */ 1216. 1217. E void NDECL(initoptions); 1218. E void FDECL(parseoptions, (char *,BOOLEAN_P,BOOLEAN_P)); 1219. E int NDECL(doset); 1220. E int NDECL(dotogglepickup); 1221. E void NDECL(option_help); 1222. E void FDECL(next_opt, (winid,const char *)); 1223. E int FDECL(fruitadd, (char *)); 1224. E int FDECL(choose_classes_menu, (const char *,int,BOOLEAN_P,char *,char *)); 1225. 1226. /* ### pager.c ### */ 1227. 1228. E int NDECL(dowhatis); 1229. E int NDECL(doquickwhatis); 1230. E int NDECL(doidtrap); 1231. E int NDECL(dowhatdoes); 1232. E int NDECL(dohelp); 1233. E int NDECL(dohistory); 1234. 1235. /* ### pcmain.c ### */ 1236. 1237. #if defined(MICRO) 1238. # ifdef CHDIR 1239. E void FDECL(chdirx, (char *,BOOLEAN_P)); 1240. # endif /* CHDIR */ 1241. #endif /* MICRO */ 1242. 1243. /* ### pcsys.c ### */ 1244. 1245. #ifdef MICRO 1246. E void NDECL(flushout); 1247. E int NDECL(dosh); 1248. # ifdef MFLOPPY 1249. E void FDECL(eraseall, (const char *,const char *)); 1250. E void FDECL(copybones, (int)); 1251. E void NDECL(playwoRAMdisk); 1252. E int FDECL(saveDiskPrompt, (int)); 1253. E void NDECL(gameDiskPrompt); 1254. # endif 1255. E void FDECL(append_slash, (char *)); 1256. E void FDECL(getreturn, (const char *)); 1257. # ifndef AMIGA 1258. E void VDECL(msmsg, (const char *,...)); 1259. # endif 1260. E FILE *FDECL(fopenp, (const char *,const char *)); 1261. E void FDECL(msexit, (int)); 1262. #endif /* MICRO */ 1263. 1264. /* ### pctty.c ### */ 1265. 1266. #if defined(MICRO) 1267. E void NDECL(gettty); 1268. E void FDECL(settty, (const char *)); 1269. E void NDECL(setftty); 1270. E void VDECL(error, (const char *,...)); 1271. #if defined(TIMED_DELAY) && defined(_MSC_VER) 1272. E void FDECL(msleep, (unsigned)); 1273. #endif 1274. #endif /* MICRO */ 1275. 1276. /* ### pcunix.c ### */ 1277. 1278. #if defined(MICRO) 1279. E void FDECL(gethdate, (char *)); 1280. E void FDECL(regularize, (char *)); 1281. #endif /* MICRO */ 1282. 1283. /* ### pickup.c ### */ 1284. 1285. E int FDECL(collect_obj_classes, 1286. (char *,struct obj *,BOOLEAN_P,BOOLEAN_P,boolean FDECL((*),(OBJ_P)))); 1287. E void FDECL(add_valid_menu_class, (int)); 1288. E boolean FDECL(allow_all, (struct obj *)); 1289. E boolean FDECL(allow_category, (struct obj *)); 1290. E boolean FDECL(is_worn_by_type, (struct obj *)); 1291. #ifdef USE_TRAMPOLI 1292. E int FDECL(ck_bag, (struct obj *)); 1293. E int FDECL(in_container, (struct obj *)); 1294. E int FDECL(out_container, (struct obj *)); 1295. #endif 1296. E void FDECL(pickup, (int)); 1297. E int FDECL(pickup_object, (struct obj *, long, BOOLEAN_P)); 1298. E int FDECL(query_category, (const char *, struct obj *, int, 1299. menu_item **, int)); 1300. E int FDECL(query_objlist, (const char *, struct obj *, int, 1301. menu_item **, int, boolean (*)(OBJ_P))); 1302. E struct obj *FDECL(pick_obj, (struct obj *)); 1303. E int NDECL(encumber_msg); 1304. E int NDECL(doloot); 1305. E int FDECL(use_container, (struct obj *,int)); 1306. 1307. /* ### pline.c ### */ 1308. 1309. E void VDECL(pline, (const char *,...)) PRINTF_F(1,2); 1310. E void VDECL(Norep, (const char *,...)) PRINTF_F(1,2); 1311. E void VDECL(You, (const char *,...)) PRINTF_F(1,2); 1312. E void VDECL(Your, (const char *,...)) PRINTF_F(1,2); 1313. E void VDECL(You_feel, (const char *,...)) PRINTF_F(1,2); 1314. E void VDECL(You_cant, (const char *,...)) PRINTF_F(1,2); 1315. E void VDECL(You_hear, (const char *,...)) PRINTF_F(1,2); 1316. E void VDECL(pline_The, (const char *,...)) PRINTF_F(1,2); 1317. E void VDECL(verbalize, (const char *,...)) PRINTF_F(1,2); 1318. E void VDECL(raw_printf, (const char *,...)) PRINTF_F(1,2); 1319. E void VDECL(impossible, (const char *,...)) PRINTF_F(1,2); 1320. E const char *FDECL(align_str, (ALIGNTYP_P)); 1321. E void FDECL(mstatusline, (struct monst *)); 1322. E void NDECL(ustatusline); 1323. 1324. /* ### polyself.c ### */ 1325. 1326. E void NDECL(set_uasmon); 1327. E void NDECL(change_sex); 1328. E void NDECL(newman); 1329. E void NDECL(polyself); 1330. E int FDECL(polymon, (int)); 1331. E void NDECL(rehumanize); 1332. E int NDECL(dobreathe); 1333. E int NDECL(dospit); 1334. E int NDECL(doremove); 1335. E int NDECL(dospinweb); 1336. E int NDECL(dosummon); 1337. E int NDECL(doconfuse); 1338. E int NDECL(dohide); 1339. E int NDECL(domindblast); 1340. E const char *FDECL(body_part, (int)); 1341. E int NDECL(poly_gender); 1342. E void FDECL(ugolemeffects, (int,int)); 1343. 1344. /* ### potion.c ### */ 1345. 1346. E void FDECL(set_itimeout, (long *,long)); 1347. E void FDECL(incr_itimeout, (long *,int)); 1348. E void FDECL(make_confused, (long,BOOLEAN_P)); 1349. E void FDECL(make_stunned, (long,BOOLEAN_P)); 1350. E void FDECL(make_blinded, (long,BOOLEAN_P)); 1351. E void FDECL(make_sick, (long, const char *, BOOLEAN_P,int)); 1352. E void FDECL(make_vomiting, (long,BOOLEAN_P)); 1353. E void FDECL(make_hallucinated, (long,BOOLEAN_P,long)); 1354. E int NDECL(dodrink); 1355. E int FDECL(dopotion, (struct obj *)); 1356. E int FDECL(peffects, (struct obj *)); 1357. E void FDECL(healup, (int,int,BOOLEAN_P,BOOLEAN_P)); 1358. E void FDECL(strange_feeling, (struct obj *,const char *)); 1359. E void FDECL(potionhit, (struct monst *,struct obj *)); 1360. E void FDECL(potionbreathe, (struct obj *)); 1361. E boolean FDECL(get_wet, (struct obj *)); 1362. E int NDECL(dodip); 1363. E void FDECL(djinni_from_bottle, (struct obj *)); 1364. 1365. /* ### pray.c ### */ 1366. 1367. #ifdef USE_TRAMPOLI 1368. E int NDECL(prayer_done); 1369. #endif 1370. E int NDECL(dosacrifice); 1371. E boolean FDECL(can_pray, (BOOLEAN_P)); 1372. E int NDECL(dopray); 1373. E const char *NDECL(u_gname); 1374. E int NDECL(doturn); 1375. E const char *NDECL(a_gname); 1376. E const char *FDECL(a_gname_at, (XCHAR_P x,XCHAR_P y)); 1377. E const char *FDECL(align_gname, (ALIGNTYP_P)); 1378. E void FDECL(altar_wrath, (int,int)); 1379. 1380. 1381. /* ### priest.c ### */ 1382. 1383. E int FDECL(move_special, (struct monst *,BOOLEAN_P,SCHAR_P,BOOLEAN_P,BOOLEAN_P, 1384. XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P)); 1385. E char FDECL(temple_occupied, (char *)); 1386. E int FDECL(pri_move, (struct monst *)); 1387. E void FDECL(priestini, (d_level *,struct mkroom *,int,int,BOOLEAN_P)); 1388. E char *FDECL(priestname, (struct monst *)); 1389. E boolean FDECL(p_coaligned, (struct monst *)); 1390. E struct monst *FDECL(findpriest, (CHAR_P)); 1391. E void FDECL(intemple, (int)); 1392. E void FDECL(priest_talk, (struct monst *)); 1393. E struct monst *FDECL(mk_roamer, (struct permonst *,ALIGNTYP_P, 1394. XCHAR_P,XCHAR_P,BOOLEAN_P)); 1395. E void FDECL(reset_hostility, (struct monst *)); 1396. E boolean FDECL(in_your_sanctuary, (XCHAR_P,XCHAR_P)); 1397. E void FDECL(ghod_hitsu, (struct monst *)); 1398. E void NDECL(angry_priest); 1399. E void NDECL(clearpriests); 1400. E void FDECL(restpriest, (struct monst *,BOOLEAN_P)); 1401. 1402. /* ### quest.c ### */ 1403. 1404. E void NDECL(quest_init); 1405. E void NDECL(onquest); 1406. E void NDECL(nemdead); 1407. E void NDECL(artitouch); 1408. E boolean NDECL(ok_to_quest); 1409. E void FDECL(leader_speaks, (struct monst *)); 1410. E void NDECL(nemesis_speaks); 1411. E void FDECL(quest_chat, (struct monst *)); 1412. E void FDECL(quest_talk, (struct monst *)); 1413. E void FDECL(quest_stat_check, (struct monst *)); 1414. 1415. /* ### questpgr.c ### */ 1416. 1417. E void NDECL(load_qtlist); 1418. E void NDECL(unload_qtlist); 1419. E short FDECL(quest_info, (int)); 1420. E const char *NDECL(ldrname); 1421. E boolean FDECL(is_quest_artifact, (struct obj*)); 1422. E boolean NDECL(leaderless); 1423. E void FDECL(com_pager, (int)); 1424. E void FDECL(qt_pager, (int)); 1425. E struct permonst *NDECL(qt_montype); 1426. 1427. /* ### random.c ### */ 1428. 1429. #if defined(RANDOM) && !defined(__GO32__) /* djgpp has its own random */ 1430. E void FDECL(srandom, (unsigned)); 1431. E char *FDECL(initstate, (unsigned,char *,int)); 1432. E char *FDECL(setstate, (char *)); 1433. E long NDECL(random); 1434. #endif /* RANDOM */ 1435. 1436. /* ### read.c ### */ 1437. 1438. E int NDECL(doread); 1439. E boolean FDECL(is_chargeable, (struct obj *)); 1440. E void FDECL(recharge, (struct obj *,int)); 1441. E void FDECL(forget_objects, (int)); 1442. E void FDECL(forget_levels, (int)); 1443. E void NDECL(forget_traps); 1444. E void FDECL(forget_map, (int)); 1445. E int FDECL(seffects, (struct obj *)); 1446. #ifdef USE_TRAMPOLI 1447. E void FDECL(set_lit, (int,int,genericptr_t)); 1448. #endif 1449. E void FDECL(litroom, (BOOLEAN_P,struct obj *)); 1450. E void FDECL(do_genocide, (int)); 1451. E void FDECL(punish, (struct obj *)); 1452. E void NDECL(unpunish); 1453. E boolean FDECL(cant_create, (int *)); 1454. #ifdef WIZARD 1455. E boolean NDECL(create_particular); 1456. #endif 1457. 1458. /* ### rect.c ### */ 1459. 1460. E void NDECL(init_rect); 1461. E NhRect *FDECL(get_rect, (NhRect *)); 1462. E NhRect *NDECL(rnd_rect); 1463. E void FDECL(remove_rect, (NhRect *)); 1464. E void FDECL(add_rect, (NhRect *)); 1465. E void FDECL(split_rects, (NhRect *,NhRect *)); 1466. 1467. /* ### restore.c ### */ 1468. 1469. E int FDECL(dorecover, (int)); 1470. E void NDECL(trickery); 1471. E void FDECL(getlev, (int,int,XCHAR_P,BOOLEAN_P)); 1472. E void NDECL(minit); 1473. E boolean FDECL(lookup_id_mapping, (unsigned, unsigned *)); 1474. #ifdef ZEROCOMP 1475. E int FDECL(mread, (int,genericptr_t,unsigned int)); 1476. #else 1477. E void FDECL(mread, (int,genericptr_t,unsigned int)); 1478. #endif 1479. 1480. /* ### rip.c ### */ 1481. 1482. E void FDECL(genl_outrip, (winid,int)); 1483. 1484. /* ### rnd.c ### */ 1485. 1486. E int FDECL(rn2, (int)); 1487. E int FDECL(rnl, (int)); 1488. E int FDECL(rnd, (int)); 1489. E int FDECL(d, (int,int)); 1490. E int FDECL(rne, (int)); 1491. E int FDECL(rnz, (int)); 1492. 1493. /* ### rumors.c ### */ 1494. 1495. E char *FDECL(getrumor, (int,char *)); 1496. E void FDECL(outrumor, (int,BOOLEAN_P)); 1497. E void FDECL(save_oracles, (int)); 1498. E void FDECL(restore_oracles, (int)); 1499. E int FDECL(doconsult, (struct monst *)); 1500. 1501. /* ### save.c ### */ 1502. 1503. E int NDECL(dosave); 1504. #if defined(UNIX) || defined(VMS) 1505. E void FDECL(hangup, (int)); 1506. #endif 1507. E int NDECL(dosave0); 1508. #ifdef INSURANCE 1509. E void NDECL(savestateinlock); 1510. #endif 1511. #ifdef MFLOPPY 1512. E boolean FDECL(savelev, (int,XCHAR_P,int)); 1513. E boolean FDECL(swapin_file, (int)); 1514. E void NDECL(co_false); 1515. #else 1516. E void FDECL(savelev, (int,XCHAR_P,int)); 1517. #endif 1518. E void FDECL(bufon, (int)); 1519. E void FDECL(bufoff, (int)); 1520. E void FDECL(bflush, (int)); 1521. E void FDECL(bwrite, (int,genericptr_t,unsigned int)); 1522. E void FDECL(bclose, (int)); 1523. E void FDECL(savefruitchn, (int,int)); 1524. E void NDECL(freedynamicdata); 1525. 1526. /* ### shk.c ### */ 1527. 1528. E char *FDECL(shkname, (struct monst *)); 1529. E void FDECL(shkgone, (struct monst *)); 1530. E void FDECL(set_residency, (struct monst *,BOOLEAN_P)); 1531. E void FDECL(replshk, (struct monst *,struct monst *)); 1532. E void FDECL(restshk, (struct monst *,BOOLEAN_P)); 1533. E char FDECL(inside_shop, (XCHAR_P,XCHAR_P)); 1534. E void FDECL(u_left_shop, (char *,BOOLEAN_P)); 1535. E void FDECL(u_entered_shop, (char *)); 1536. E boolean FDECL(same_price, (struct obj *,struct obj *)); 1537. E void NDECL(shopper_financial_report); 1538. E int FDECL(inhishop, (struct monst *)); 1539. E struct monst *FDECL(shop_keeper, (CHAR_P)); 1540. E boolean FDECL(tended_shop, (struct mkroom *)); 1541. E void FDECL(delete_contents, (struct obj *)); 1542. E void FDECL(obfree, (struct obj *,struct obj *)); 1543. E void FDECL(home_shk, (struct monst *,BOOLEAN_P)); 1544. E void FDECL(make_happy_shk, (struct monst *,BOOLEAN_P)); 1545. E void FDECL(hot_pursuit, (struct monst *)); 1546. E void FDECL(make_angry_shk, (struct monst *,XCHAR_P,XCHAR_P)); 1547. E int NDECL(dopay); 1548. E boolean FDECL(paybill, (BOOLEAN_P)); 1549. E void NDECL(finish_paybill); 1550. E struct obj *FDECL(find_oid, (unsigned)); 1551. E long FDECL(contained_cost, (struct obj *,struct monst *,long,BOOLEAN_P)); 1552. E long FDECL(contained_gold, (struct obj *)); 1553. E void FDECL(picked_container, (struct obj *)); 1554. E long FDECL(unpaid_cost, (struct obj *)); 1555. E void FDECL(addtobill, (struct obj *,BOOLEAN_P,BOOLEAN_P,BOOLEAN_P)); 1556. E void FDECL(splitbill, (struct obj *,struct obj *)); 1557. E void FDECL(subfrombill, (struct obj *,struct monst *)); 1558. E long FDECL(stolen_value, (struct obj *,XCHAR_P,XCHAR_P,BOOLEAN_P,BOOLEAN_P)); 1559. E void FDECL(sellobj_state, (BOOLEAN_P)); 1560. E void FDECL(sellobj, (struct obj *,XCHAR_P,XCHAR_P)); 1561. E int FDECL(doinvbill, (int)); 1562. E int FDECL(shkcatch, (struct obj *,XCHAR_P,XCHAR_P)); 1563. E void FDECL(add_damage, (XCHAR_P,XCHAR_P,long)); 1564. E int FDECL(repair_damage, (struct monst *,struct damage *,BOOLEAN_P)); 1565. E int FDECL(shk_move, (struct monst *)); 1566. E boolean FDECL(is_fshk, (struct monst *)); 1567. E void FDECL(shopdig, (int)); 1568. E void FDECL(pay_for_damage, (const char *)); 1569. E boolean FDECL(costly_spot, (XCHAR_P,XCHAR_P)); 1570. E struct obj *FDECL(shop_object, (XCHAR_P,XCHAR_P)); 1571. E void FDECL(price_quote, (struct obj *)); 1572. E void FDECL(shk_chat, (struct monst *)); 1573. E void FDECL(check_unpaid, (struct obj *)); 1574. E void FDECL(costly_gold, (XCHAR_P,XCHAR_P,long)); 1575. E boolean FDECL(block_door, (XCHAR_P,XCHAR_P)); 1576. E boolean FDECL(block_entry, (XCHAR_P,XCHAR_P)); 1577. E char *FDECL(shk_your, (char *,struct obj *)); 1578. E char *FDECL(Shk_Your, (char *,struct obj *)); 1579. 1580. /* ### shknam.c ### */ 1581. 1582. E void FDECL(stock_room, (int,struct mkroom *)); 1583. E boolean FDECL(saleable, (struct monst *,struct obj *)); 1584. E int FDECL(get_shop_item, (int)); 1585. 1586. /* ### sit.c ### */ 1587. 1588. E void NDECL(take_gold); 1589. E int NDECL(dosit); 1590. E void NDECL(rndcurse); 1591. E void NDECL(attrcurse); 1592. 1593. /* ### sounds.c ### */ 1594. 1595. E void NDECL(dosounds); 1596. E const char *FDECL(growl_sound, (struct monst *)); 1597. E void FDECL(growl, (struct monst *)); 1598. E void FDECL(yelp, (struct monst *)); 1599. E void FDECL(whimper, (struct monst *)); 1600. E void FDECL(beg, (struct monst *)); 1601. E int NDECL(dotalk); 1602. 1603. 1604. /* ### sys/msdos/sound.c ### */ 1605. 1606. #ifdef MSDOS 1607. E int FDECL(assign_soundcard, (char *)); 1608. #endif 1609. 1610. /* ### sp_lev.c ### */ 1611. 1612. E boolean FDECL(check_room, (xchar *,xchar *,xchar *,xchar *,BOOLEAN_P)); 1613. E boolean FDECL(create_room, (XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P, 1614. XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P)); 1615. E void FDECL(create_secret_door, (struct mkroom *,XCHAR_P)); 1616. E boolean FDECL(dig_corridor, (coord *,coord *,BOOLEAN_P,SCHAR_P,SCHAR_P)); 1617. E void FDECL(fill_room, (struct mkroom *,BOOLEAN_P)); 1618. E boolean FDECL(load_special, (const char *)); 1619. 1620. /* ### spell.c ### */ 1621. 1622. #ifdef USE_TRAMPOLI 1623. E int NDECL(learn); 1624. #endif 1625. E int FDECL(study_book, (struct obj *)); 1626. E int NDECL(docast); 1627. E int FDECL(spelleffects, (int,BOOLEAN_P)); 1628. E void NDECL(losespells); 1629. E int NDECL(dovspell); 1630. 1631. /* ### steal.c ### */ 1632. 1633. #ifdef USE_TRAMPOLI 1634. E int NDECL(stealarm); 1635. #endif 1636. E long NDECL(somegold); 1637. E void FDECL(stealgold, (struct monst *)); 1638. E int FDECL(steal, (struct monst *)); 1639. E void FDECL(mpickobj, (struct monst *,struct obj *)); 1640. E void FDECL(stealamulet, (struct monst *)); 1641. E void FDECL(relobj, (struct monst *,int,BOOLEAN_P)); 1642. 1643. /* ### teleport.c ### */ 1644. 1645. E boolean FDECL(goodpos, (int,int,struct monst *,struct permonst *)); 1646. E boolean FDECL(enexto, (coord *,XCHAR_P,XCHAR_P,struct permonst *)); 1647. E void FDECL(teleds, (int,int)); 1648. E boolean NDECL(safe_teleds); 1649. E boolean FDECL(teleport_pet, (struct monst *)); 1650. E void NDECL(tele); 1651. E int NDECL(dotele); 1652. E void NDECL(level_tele); 1653. E void FDECL(domagicportal, (struct trap *)); 1654. E void FDECL(tele_trap, (struct trap *)); 1655. E void FDECL(level_tele_trap, (struct trap *)); 1656. E void FDECL(rloc_to, (struct monst *,int,int)); 1657. E void FDECL(rloc, (struct monst *)); 1658. E boolean FDECL(tele_restrict, (struct monst *)); 1659. E void FDECL(mtele_trap, (struct monst *, struct trap *,int)); 1660. E int FDECL(mlevel_tele_trap, (struct monst *, struct trap *,int)); 1661. E void FDECL(rloco, (struct obj *)); 1662. E int NDECL(random_teleport_level); 1663. 1664. /* ### tile.c ### */ 1665. #ifdef USE_TILES 1666. E void FDECL(substitute_tiles, (d_level *)); 1667. #endif 1668. 1669. /* ### timeout.c ### */ 1670. 1671. E void NDECL(nh_timeout); 1672. E void FDECL(fall_asleep, (int, BOOLEAN_P)); 1673. E void FDECL(attach_egg_hatch_timeout, (struct obj *)); 1674. E void FDECL(kill_egg, (struct obj *)); 1675. E void FDECL(hatch_egg, (genericptr_t, long)); 1676. E void FDECL(learn_egg_type, (int)); 1677. E void FDECL(burn_object, (genericptr_t, long)); 1678. E void FDECL(begin_burn, (struct obj *, BOOLEAN_P)); 1679. E void FDECL(end_burn, (struct obj *, BOOLEAN_P)); 1680. E void NDECL(do_storms); 1681. E boolean FDECL(start_timer, (long, SHORT_P, SHORT_P, genericptr_t)); 1682. E long FDECL(stop_timer, (SHORT_P, genericptr_t)); 1683. E void NDECL(run_timers); 1684. E void FDECL(obj_move_timers, (struct obj *, struct obj *)); 1685. E void FDECL(obj_split_timers, (struct obj *, struct obj *)); 1686. E void FDECL(obj_stop_timers, (struct obj *)); 1687. E boolean FDECL(obj_is_local, (struct obj *)); 1688. E void FDECL(save_timers, (int,int,int)); 1689. E void FDECL(restore_timers, (int,int,BOOLEAN_P,long)); 1690. E void FDECL(relink_timers, (BOOLEAN_P)); 1691. #ifdef WIZARD 1692. E int NDECL(wiz_timeout_queue); 1693. E void NDECL(timer_sanity_check); 1694. #endif 1695. 1696. /* ### topten.c ### */ 1697. 1698. E void FDECL(topten, (int)); 1699. E void FDECL(prscore, (int,char **)); 1700. E struct obj *FDECL(tt_oname, (struct obj *)); 1701. 1702. /* ### track.c ### */ 1703. 1704. E void NDECL(initrack); 1705. E void NDECL(settrack); 1706. E coord *FDECL(gettrack, (int,int)); 1707. 1708. /* ### trap.c ### */ 1709. 1710. E boolean NDECL(burnarmor); 1711. E boolean FDECL(rust_dmg, (struct obj *,const char *,int,BOOLEAN_P)); 1712. E void FDECL(grease_protect, (struct obj *,const char *,BOOLEAN_P)); 1713. E struct trap *FDECL(maketrap, (int,int,int)); 1714. E void FDECL(fall_through, (BOOLEAN_P)); 1715. E void FDECL(activate_statue_trap, (struct trap *,XCHAR_P,XCHAR_P)); 1716. E void FDECL(dotrap, (struct trap *)); 1717. E void FDECL(seetrap, (struct trap *)); 1718. E int FDECL(mintrap, (struct monst *)); 1719. E void FDECL(instapetrify, (const char *)); 1720. E void FDECL(minstapetrify, (struct monst *,BOOLEAN_P)); 1721. E void FDECL(selftouch, (const char *)); 1722. E void FDECL(mselftouch, (struct monst *,const char *,BOOLEAN_P)); 1723. E void NDECL(float_up); 1724. E void FDECL(fill_pit, (int,int)); 1725. E int FDECL(float_down, (long)); 1726. E void FDECL(water_damage, (struct obj *,BOOLEAN_P,BOOLEAN_P)); 1727. E boolean NDECL(drown); 1728. E void FDECL(drain_en, (int)); 1729. E int NDECL(dountrap); 1730. E int FDECL(untrap, (BOOLEAN_P)); 1731. E boolean FDECL(chest_trap, (struct obj *,int,BOOLEAN_P)); 1732. E void FDECL(deltrap, (struct trap *)); 1733. E boolean FDECL(delfloortrap, (struct trap *)); 1734. E struct trap *FDECL(t_at, (int,int)); 1735. E void FDECL(b_trapped, (const char *,int)); 1736. E boolean NDECL(unconscious); 1737. E boolean NDECL(lava_effects); 1738. E int FDECL(launch_obj,(SHORT_P,int,int,int,int,int)); 1739. 1740. /* ### u_init.c ### */ 1741. 1742. E void NDECL(u_init); 1743. E void NDECL(plnamesuffix); 1744. 1745. /* ### uhitm.c ### */ 1746. 1747. E boolean FDECL(attack_checks, (struct monst *,struct obj *)); 1748. E schar FDECL(find_roll_to_hit, (struct monst *)); 1749. E boolean FDECL(attack, (struct monst *)); 1750. E boolean FDECL(hmon, (struct monst *,struct obj *,int)); 1751. E int FDECL(damageum, (struct monst *,struct attack *)); 1752. E void FDECL(missum, (struct monst *,struct attack *)); 1753. E int FDECL(passive, (struct monst *,BOOLEAN_P,int,BOOLEAN_P)); 1754. E void FDECL(stumble_onto_mimic, (struct monst *)); 1755. E int FDECL(flash_hits_mon, (struct monst *,struct obj *)); 1756. 1757. #ifdef UNIX 1758. 1759. /* ### unixmain.c ### */ 1760. # ifdef PORT_HELP 1761. E void NDECL(port_help); 1762. # endif 1763. 1764. /* ### unixtty.c ### */ 1765. 1766. E void NDECL(gettty); 1767. E void FDECL(settty, (const char *)); 1768. E void NDECL(setftty); 1769. E void NDECL(intron); 1770. E void NDECL(introff); 1771. E void VDECL(error, (const char *,...)) PRINTF_F(1,2); 1772. 1773. /* ### unixunix.c ### */ 1774. 1775. E void FDECL(gethdate, (const char *)); 1776. E void NDECL(getlock); 1777. E void FDECL(regularize, (char *)); 1778. # ifdef SHELL 1779. E int NDECL(dosh); 1780. # endif /* SHELL */ 1781. # if defined(SHELL) || defined(DEF_PAGER) || defined(DEF_MAILREADER) 1782. E int FDECL(child, (int)); 1783. # endif 1784. 1785. #endif /* UNIX */ 1786. 1787. /* ### vault.c ### */ 1788. 1789. E boolean FDECL(grddead, (struct monst *)); 1790. E char FDECL(vault_occupied, (char *)); 1791. E void NDECL(invault); 1792. E int FDECL(gd_move, (struct monst *)); 1793. E void NDECL(paygd); 1794. E long NDECL(hidden_gold); 1795. E boolean NDECL(gd_sound); 1796. 1797. /* ### version.c ### */ 1798. 1799. E int NDECL(doversion); 1800. E int NDECL(doextversion); 1801. #ifdef MICRO 1802. E boolean FDECL(comp_times, (long)); 1803. #endif 1804. E boolean FDECL(check_version, (long *,const char *,BOOLEAN_P)); 1805. 1806. /* ### video.c ### */ 1807. 1808. #ifdef MSDOS 1809. E int FDECL(assign_video, (char *)); 1810. # ifdef NO_TERMS 1811. E void NDECL(gr_init); 1812. E void NDECL(gr_finish); 1813. # endif 1814. #endif 1815. #ifdef VIDEOSHADES 1816. E int FDECL(assign_videoshades, (char *)); 1817. E int FDECL(assign_videocolors, (char *)); 1818. #endif 1819. 1820. /* ### vis_tab.c ### */ 1821. 1822. #ifdef VISION_TABLES 1823. E void NDECL(vis_tab_init); 1824. #endif 1825. 1826. /* ### vision.c ### */ 1827. 1828. E void NDECL(vision_init); 1829. E int FDECL(does_block, (int,int,struct rm*)); 1830. E void NDECL(vision_reset); 1831. E void FDECL(vision_recalc, (int)); 1832. E void FDECL(block_point, (int,int)); 1833. E void FDECL(unblock_point, (int,int)); 1834. E boolean FDECL(clear_path, (int,int,int,int)); 1835. E void FDECL(do_clear_area, (int,int,int, 1836. void (*)(int,int,genericptr_t),genericptr_t)); 1837. 1838. #ifdef VMS 1839. 1840. /* ### vmsfiles.c ### */ 1841. 1842. E int FDECL(vms_link, (const char *,const char *)); 1843. E int FDECL(vms_unlink, (const char *)); 1844. E int FDECL(vms_creat, (const char *,unsigned int)); 1845. E int FDECL(vms_open, (const char *,int,unsigned int)); 1846. E boolean FDECL(same_dir, (const char *,const char *)); 1847. E int FDECL(c__translate, (int)); 1848. E char *FDECL(vms_basename, (const char *)); 1849. 1850. /* ### vmsmail.c ### */ 1851. 1852. E unsigned long NDECL(init_broadcast_trapping); 1853. E unsigned long NDECL(enable_broadcast_trapping); 1854. E unsigned long NDECL(disable_broadcast_trapping); 1855. # if 0 1856. E struct mail_info *NDECL(parse_next_broadcast); 1857. # endif /*0*/ 1858. 1859. /* ### vmsmain.c ### */ 1860. 1861. E int FDECL(main, (int, char **)); 1862. # ifdef CHDIR 1863. E void FDECL(chdirx, (const char *,BOOLEAN_P)); 1864. # endif /* CHDIR */ 1865. 1866. /* ### vmsmisc.c ### */ 1867. 1868. E void NDECL(vms_abort); 1869. E void FDECL(vms_exit, (int)); 1870. 1871. /* ### vmstty.c ### */ 1872. 1873. E int NDECL(vms_getchar); 1874. E void NDECL(gettty); 1875. E void FDECL(settty, (const char *)); 1876. E void FDECL(shuttty, (const char *)); 1877. E void NDECL(setftty); 1878. E void NDECL(intron); 1879. E void NDECL(introff); 1880. E void VDECL(error, (const char *,...)) PRINTF_F(1,2); 1881. #ifdef TIMED_DELAY 1882. E void FDECL(msleep, (unsigned)); 1883. #endif 1884. 1885. /* ### vmsunix.c ### */ 1886. 1887. E void FDECL(gethdate, (const char *)); 1888. E void NDECL(getlock); 1889. E void FDECL(regularize, (char *)); 1890. E int NDECL(vms_getuid); 1891. E boolean FDECL(file_is_stmlf, (int)); 1892. E int FDECL(vms_define, (const char *,const char *,int)); 1893. E int FDECL(vms_putenv, (const char *)); 1894. E char *NDECL(verify_termcap); 1895. # if defined(CHDIR) || defined(SHELL) || defined(SECURE) 1896. E void NDECL(privoff); 1897. E void NDECL(privon); 1898. # endif 1899. # ifdef SHELL 1900. E int NDECL(dosh); 1901. # endif 1902. # if defined(SHELL) || defined(MAIL) 1903. E int FDECL(vms_doshell, (const char *,BOOLEAN_P)); 1904. # endif 1905. # ifdef SUSPEND 1906. E int NDECL(dosuspend); 1907. # endif 1908. 1909. #endif /* VMS */ 1910. 1911. /* ### weapon.c ### */ 1912. 1913. E int FDECL(hitval, (struct obj *,struct monst *)); 1914. E int FDECL(dmgval, (struct obj *,struct monst *)); 1915. E struct obj *FDECL(select_rwep, (struct monst *)); 1916. E struct obj *FDECL(select_hwep, (struct monst *)); 1917. E void FDECL(possibly_unwield, (struct monst *)); 1918. E int FDECL(mon_wield_item, (struct monst *)); 1919. E int NDECL(abon); 1920. E int NDECL(dbon); 1921. #ifdef WEAPON_SKILLS 1922. E int NDECL(check_weapon_skills); 1923. E int NDECL(select_weapon_skill); 1924. E void FDECL(unrestrict_weapon_skill, (int)); 1925. E void NDECL(add_weapon_skill); 1926. E void NDECL(lose_weapon_skill); 1927. E int FDECL(weapon_type, (struct obj *)); 1928. E int FDECL(weapon_hit_bonus, (struct obj *)); 1929. E int FDECL(weapon_dam_bonus, (struct obj *)); 1930. E void FDECL(skill_init, (struct def_skill *)); 1931. #endif /* WEAPON_SKILLS */ 1932. 1933. /* ### were.c ### */ 1934. 1935. E void FDECL(were_change, (struct monst *)); 1936. E void FDECL(new_were, (struct monst *)); 1937. E boolean FDECL(were_summon, (struct permonst *,BOOLEAN_P)); 1938. E void NDECL(you_were); 1939. 1940. /* ### wield.c ### */ 1941. 1942. E void FDECL(setuwep, (struct obj *)); 1943. E void NDECL(uwepgone); 1944. E int NDECL(dowield); 1945. E void FDECL(erode_weapon, (BOOLEAN_P)); 1946. E int FDECL(chwepon, (struct obj *,int)); 1947. E int FDECL(welded, (struct obj *)); 1948. E void FDECL(weldmsg, (struct obj *,BOOLEAN_P)); 1949. 1950. /* ### windows.c ### */ 1951. 1952. E void FDECL(choose_windows, (const char *)); 1953. E char FDECL(genl_message_menu, (CHAR_P,int,const char *)); 1954. 1955. /* ### wizard.c ### */ 1956. 1957. E void NDECL(amulet); 1958. E int FDECL(mon_has_amulet, (struct monst *)); 1959. E int FDECL(mon_has_special, (struct monst *)); 1960. E int FDECL(tactics, (struct monst *)); 1961. E void NDECL(aggravate); 1962. E void NDECL(clonewiz); 1963. E void FDECL(nasty, (struct monst*)); 1964. E void NDECL(resurrect); 1965. E void NDECL(intervene); 1966. E void NDECL(wizdead); 1967. E void FDECL(cuss, (struct monst *)); 1968. 1969. /* ### worm.c ### */ 1970. 1971. E int NDECL(get_wormno); 1972. E void FDECL(initworm, (struct monst *,int)); 1973. E void FDECL(worm_move, (struct monst *)); 1974. E void FDECL(worm_nomove, (struct monst *)); 1975. E void FDECL(wormgone, (struct monst *)); 1976. E void FDECL(wormhitu, (struct monst *)); 1977. E void FDECL(cutworm, (struct monst *,XCHAR_P,XCHAR_P,struct obj *)); 1978. E void FDECL(see_wsegs, (struct monst *)); 1979. E void FDECL(save_worm, (int,int)); 1980. E void FDECL(rest_worm, (int)); 1981. E void FDECL(place_wsegs, (struct monst *)); 1982. E void FDECL(remove_worm, (struct monst *)); 1983. E void FDECL(place_worm_tail_randomly, (struct monst *,XCHAR_P,XCHAR_P)); 1984. E int FDECL(count_wsegs, (struct monst *)); 1985. E boolean FDECL(worm_known, (struct monst *)); 1986. 1987. /* ### worn.c ### */ 1988. 1989. E void FDECL(setworn, (struct obj *,long)); 1990. E void FDECL(setnotworn, (struct obj *)); 1991. E void FDECL(mon_set_minvis, (struct monst *)); 1992. E void FDECL(update_mon_intrinsics, (struct monst *,struct obj *,BOOLEAN_P)); 1993. E int FDECL(find_mac, (struct monst *)); 1994. E void FDECL(m_dowear, (struct monst *,BOOLEAN_P)); 1995. E struct obj *FDECL(which_armor, (struct monst *,long)); 1996. E void FDECL(mon_break_armor, (struct monst *)); 1997. 1998. /* ### write.c ### */ 1999. 2000. E int FDECL(dowrite, (struct obj *)); 2001. 2002. /* ### zap.c ### */ 2003. 2004. E int FDECL(bhitm, (struct monst *,struct obj *)); 2005. E void FDECL(probe_monster, (struct monst *)); 2006. E boolean FDECL(get_obj_location, (struct obj *,xchar *,xchar *,int)); 2007. E boolean FDECL(get_mon_location, (struct monst *,xchar *,xchar *,int)); 2008. E struct monst *FDECL(revive, (struct obj *)); 2009. E int FDECL(unturn_dead, (struct monst *)); 2010. E void FDECL(cancel_item, (struct obj *)); 2011. E boolean FDECL(obj_resists, (struct obj *,int,int)); 2012. E boolean FDECL(obj_shudders, (struct obj *)); 2013. E void FDECL(do_osshock, (struct obj *)); 2014. E void FDECL(poly_obj, (struct obj *)); 2015. E int FDECL(bhito, (struct obj *,struct obj *)); 2016. E int FDECL(bhitpile, (struct obj *,int (*)(OBJ_P,OBJ_P),int,int)); 2017. E int FDECL(zappable, (struct obj *)); 2018. E void FDECL(zapnodir, (struct obj *)); 2019. E int NDECL(dozap); 2020. E int FDECL(zapyourself, (struct obj *,BOOLEAN_P)); 2021. E void FDECL(cancel_monst, (struct monst *,struct obj *, 2022. BOOLEAN_P,BOOLEAN_P,BOOLEAN_P)); 2023. E void FDECL(weffects, (struct obj *)); 2024. E const char *FDECL(exclam, (int force)); 2025. E void FDECL(hit, (const char *,struct monst *,const char *)); 2026. E void FDECL(miss, (const char *,struct monst *)); 2027. E struct monst *FDECL(bhit, (int,int,int,int,int (*)(MONST_P,OBJ_P), 2028. int (*)(OBJ_P,OBJ_P),struct obj *)); 2029. E struct monst *FDECL(boomhit, (int,int)); 2030. E int FDECL(burn_floor_paper, (int,int,BOOLEAN_P)); 2031. E void FDECL(buzz, (int,int,XCHAR_P,XCHAR_P,int,int)); 2032. E void FDECL(melt_ice, (XCHAR_P,XCHAR_P)); 2033. E int FDECL(zap_over_floor, (XCHAR_P,XCHAR_P,int,boolean *)); 2034. E void FDECL(fracture_rock, (struct obj *)); 2035. E boolean FDECL(break_statue, (struct obj *)); 2036. E void FDECL(destroy_item, (int,int)); 2037. E int FDECL(destroy_mitem, (struct monst *,int,int)); 2038. E int FDECL(resist, (struct monst *,CHAR_P,int,int)); 2039. E void NDECL(makewish); 2040. 2041. #endif /* !MAKEDEFS_C && !LEV_LEX_C */ 2042. 2043. #undef E 2044. 2045. #endif /* EXTERN_H */ extern.h